home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1996 May: Tool Chest / Developer CD Series May 1996 (Tool Chest) (Apple Computer) (1996).iso / Tool Chest / Interfaces & Libraries / Interfaces / AIncludes / FSEqu.a < prev    next >
Encoding:
Text File  |  1993-12-02  |  17.9 KB  |  448 lines  |  [TEXT/MPS ]

  1. ;    File:        FSEqu.a
  2. ;
  3. ;    Copyright:    © 1983-1993 by Apple Computer, Inc.
  4. ;                All rights reserved.
  5. ;
  6. ;    Version:    System 7.1 for ETO #11
  7. ;    Created:    Tuesday, March 30, 1993 18:00
  8. ;
  9. ;___________________________________________________________________________
  10.  
  11.     IF &TYPE('__INCLUDINGFSEQU__') = 'UNDEFINED' THEN
  12. __INCLUDINGFSEQU__    SET    1
  13.  
  14. SigWord           EQU         $D2D7                     ; signature bytes (MFS volume)
  15. TSigWord          EQU         $4244                     ; signature bytes (HFS volume)
  16. HFSBit            EQU         9                         ; defines HFS bit in trap word
  17. ;_______________________________________________________________________
  18. ; fixed location labels: (equivalent of zero page)
  19. FSFCBLen          EQU         $3F6                      ; HFS present flag / FCB size (-1 in old ROM)
  20. WDRfnMin          EQU         -32767                    ; Lowest assigned WD RefNum
  21. WDRfnMax          EQU         -4096                     ; largest possible WDrefnum
  22. HFSTagData        EQU         $38A                      ; Room for additional HFS tag data
  23. FCBSPtr           EQU         $34E                      ; ptr to FCBs
  24. DefVCBPtr         EQU         $352                      ; pointer to default VCB
  25. VCBQHdr           EQU         $356                      ; VCB queue header
  26. FSQHdr            EQU         $360                      ; file system queue header (10 bytes)
  27. FSBusy            EQU         $360                      ; non-zero when the file system is busy
  28. FSQHead           EQU         $362                      ; ptr to 1st queued cmd: 0 when queue empty
  29. FSQTail           EQU         $366                      ; ptr to last queue element
  30.  
  31.  
  32. ;bit positions for ioSpecBits values for CatSearch                    <dnf 1.3>
  33.  
  34. fsSBPartialName    EQU        0                    ; ioFileName points to a substring
  35. fsSBFullName    EQU        1                    ; ioFileName points to a match string
  36. fsSBFlAttrib    EQU        2                    ; search includes file attributes
  37. fsSBFlFndrInfo    EQU        3                    ; search includes finder info
  38. fsSBFlLgLen        EQU        5                    ; search includes data logical length
  39. fsSBFlPyLen        EQU        6                    ; search includes data physical length
  40. fsSBFlRLgLen    EQU        7                    ; search includes resource logical length
  41. fsSBFlRPyLen    EQU        8                    ; search includes resource physical length
  42. fsSBFlCrDat        EQU        9                    ; search includes create date
  43. fsSBFlMdDat        EQU        10                    ; search includes modification date
  44. fsSBFlBkDat        EQU        11                    ; search includes backup date
  45. fsSBFlXFndrInfo    EQU        12                    ; search includes extended finder info
  46. fsSBFlParID        EQU        13                    ; search includes file's parent ID
  47. fsSBNegate        EQU        14                    ; return all non-matches
  48. fsSBDrUsrWds    EQU        fsSBFlFndrInfo        ; search includes directory finder info
  49. fsSBDrNmFls        EQU        4                    ; search includes directory valence
  50. fsSBDrCrDat        EQU        fsSBFlCrDat            ; directory-named version of fsSBFlCrDat
  51. fsSBDrMdDat        EQU        fsSBFlMdDat            ; directory-named version of fsSBFlMdDat
  52. fsSBDrBkDat        EQU        fsSBFlBkDat            ; directory-named version of fsSBFlBkDat
  53. fsSBDrFndrInfo    EQU        fsSBFlXFndrInfo        ; directory-named version of fsSBFlXFndrInfo
  54. fsSBDrParID        EQU        fsSBFlParID            ; directory-named version of fsSBFlParID
  55.  
  56. ;layout of the GetVolParms buffer and vMAttrib bit values            <dnf 1.3>
  57. vMVersion    EQU        0
  58. vMAttrib    EQU        2
  59. vMLocalHand        EQU        6
  60. vMServerAdr        EQU        10
  61. vMVolumeGrade    EQU        14
  62. vMForeignPrivID    EQU        18
  63.  
  64. bLimitFCBs            EQU            31
  65. bLocalWList            EQU            30
  66. bNoMiniFndr            EQU            29
  67. bNoVNEdit            EQU            28
  68. bNoLclSync            EQU            27
  69. bTrshOffLine        EQU            26
  70. bNoSwitchTo            EQU            25
  71. bNoDeskItems        EQU            20
  72. bNoBootBlks            EQU            19
  73. bAccessCntl            EQU            18
  74. bNoSysDir            EQU            17
  75. bHasExtFSVol        EQU            16
  76. bHasOpenDeny        EQU            15
  77. bHasCopyFile        EQU            14
  78. bHasMoveRename        EQU            13
  79. bHasDesktopMgr        EQU            12            
  80. bHasShortName        EQU         11
  81. bHasFolderLock        EQU            10
  82. bHasPersonalAccessPrivileges    EQU    9
  83. bHasUserGroupList    EQU        8
  84. bHasCatSearch        EQU        7
  85. bHasFileIDs            EQU        6
  86. bHasBtreeMgr        EQU        5
  87. bHasBlankAccessPrivileges        EQU        4
  88.  
  89. ; Foreign Privilege Model Identifiers
  90.  
  91. fsUnixPriv                        EQU        1
  92.  
  93. ; Authentication Constants
  94.  
  95. kNoUserAuthentication             EQU        1
  96. kPassword                        EQU        2
  97. kEncryptPassword                EQU        3
  98. kTwoWayEncryptPassword            EQU        6
  99.  
  100. ; Version Release Stage Codes
  101.  
  102. developStage                    EQU        $20
  103. alphaStage                        EQU        $40
  104. betaStage                        EQU        $60
  105. finalStage                        EQU        $80
  106.  
  107. ; FSSpec record
  108.  
  109. FSSpec            RECORD    0, INCREMENT
  110. vRefNum            ds.w    1
  111. parID            ds.l    1
  112. name            ds.b    64
  113. size            EQU        *-FSSpec
  114.                 ENDR
  115.  
  116. ;;;
  117. ;;;    HParamBlockRec Record Common
  118. ;;;
  119. HParamBlockRec    RECORD        0
  120. qLink            DS.L        1
  121. qType            DS.W        1
  122. ioTrap            DS.W        1
  123. ioCmdAddr        DS.L        1
  124. ioCompletion    DS.L        1
  125. ioResult        DS.W        1
  126. ioNamePtr        DS.L        1
  127. ioVRefNum        DS.W        1
  128.                 ENDR
  129.  
  130. ;;;
  131. ;;; HParamBlockRec.fileParam Record
  132. ;;;
  133. HFileParam        RECORD        24
  134. ioFRefNum        DS.W        1
  135. ioFVersNum        DS.B        1
  136. filler1         DS.B        1
  137. ioFDirIndex     DS.W        1
  138. ioFlAttrib        DS.B        1
  139. ioFlVersNum     DS.B        1
  140. ioFlFndrInfo    DS.L        4
  141. ioDirID         DS.L        1
  142. ioFlStBlk        DS.W        1
  143. ioFlLgLen        DS.L        1
  144. ioFlPyLen        DS.L        1
  145. ioFlRStBlk        DS.W        1
  146. ioFlRLgLen        DS.L        1
  147. ioFlRPyLen        DS.L        1
  148. ioFlCrDat        DS.L        1
  149. ioFlMdDat        DS.L        1
  150. HFileParamSize    EQU         *
  151.                 ENDR
  152.  
  153. ;;;
  154. ;;;    HParamBlockRec.volumeParam Record
  155. ;;;
  156. HVolumeParam    RECORD    24
  157. filler2            DS.L    1
  158. ioVolIndex        DS.W    1
  159. ioVCrDate        DS.L    1
  160. ioVLsMod        DS.L    1
  161. ioVAtrb            DS.W    1
  162. ioVNmFls        DS.W    1
  163. ioVBitMap        DS.W    1
  164. ioAllocPtr        DS.W    1
  165. ioVNmAlBlks        DS.W    1
  166. ioVAlBlkSiz        DS.L    1
  167. ioVClpSiz        DS.L    1
  168. ioAlBlSt        DS.W    1
  169. ioVNxtCNID        DS.L    1
  170. ioVFrBlk        DS.W    1
  171. ioVSigWord        DS.W    1
  172. ioVDrvInfo        DS.W    1
  173. ioVDRefNum        DS.W    1
  174. ioVFSID            DS.W    1
  175. ioVBkUp            DS.L    1
  176. ioVSeqNum        DS.W    1
  177. ioVWrCnt        DS.L    1
  178. ioVFilCnt        DS.L    1
  179. ioVDirCnt        DS.L    1
  180. ioVFndrInfo        DS.L    8
  181. HVolumeParamSize    EQU        *
  182.                 ENDR
  183.  
  184. ;
  185. ; The VolumeMount trap equates
  186. ;
  187. ; The ioBuffer field should point to a structure that looks like the
  188. ; record AFPVolMountBlock, below. Note that the header is actually a series
  189. ; of offsets into a block that is different for each extfs.
  190. ;
  191. ; First you make a _GetVolMountInfoSize call on an existing volume, then allocate 
  192. ; a buffer of the size that it requests, the _GetVolMountInfo, then later
  193. ; you pass the buffer modified by _GetVolMountInfo back and it mounts the volume.
  194. ;
  195. AFPVolMountInfo    RECORD    0, INCREMENT
  196. length                ds.w    1
  197. media                ds.l    1
  198. flags                ds.w    1
  199. nbpInterval            ds.b    1
  200. nbpCount            ds.b    1
  201. uamType                ds.w    1
  202. ZoneOffset            ds.w    1
  203. serverNameOffset    ds.w    1
  204. volNameOffset        ds.w    1
  205. UserNameOffset        ds.w    1
  206. UserPaswdOffset        ds.w    1
  207. VolPaswdOffset        ds.w    1
  208. size                EQU        *-AFPVolMountInfo
  209.         ENDR
  210.  
  211. AFPVolMountBlock    RECORD    0, INCREMENT
  212. header                ds.b    AFPVolMountInfo.size
  213. zoneName            ds.b    33
  214. serverName            ds.b    32
  215. volName                ds.b    28
  216. userName            ds.b    32
  217. userPassword        ds.b    9
  218. volPassword            ds.b    9
  219. size                EQU        *-AFPVolMountBlock
  220.         ENDR
  221.  
  222.  
  223. ;
  224. ; Volume Control Block equates: (prefix: VCB)
  225. ;
  226. vcbFlags          EQU         6                         ; flags word is first word after header
  227. vcbDirty          EQU         15                        ; flags dirty bit (tst.w tests,clr.b clears)
  228. ; first 64/104 bytes of VCB come directly from the directory master block
  229. vcbDInfoSt        EQU         8                         ; leave room for 6-byte queue header
  230. vcbDILen          EQU         64                        ; len of VCB data from master directory (from old FSEQU)
  231. vcbSigWord        EQU         8                         ; signature word
  232. vcbCrDate         EQU         10                        ; Creation date.
  233. vcbLsBkUp         EQU         14                        ; last backup date
  234. vcbLsMod          EQU         14                        ; alternate name for above
  235. vcbAtrb           EQU         18                        ; volume attributes. bit 15 = vol lock (1=locked)
  236. ; bit 7 = wr protect
  237. ; bit 6 = busy (1=busy)
  238. ; bit 5 = volume consistent if set
  239. ; (set for default on GetVolInfo)
  240. ; bits 0-4 = consistency prob
  241. ; 0: max CNID > VCBNxtCNID
  242. ; 1: file count error
  243. ; 2: file length error
  244. ; 3: catalog B*-tree loop
  245. ; 4: extent B*-tree loop
  246. vcbAtVOK          EQU         8                         ; attrib consistent volume flag (set on clean _Unmount)
  247. ; (bit 8 in word, bit 0 in top byte)
  248. vcbAtBB            EQU            9                        ; bad blocks have been spared in this volume (bit 1 of top byte)
  249. vcbWrProt         EQU         7                         ; attrib write-protected bit (tst.b ATRB+1 tests)
  250. vcbNmFls          EQU         20                        ; number files in MFS dir 
  251. ; number files in HFS root dir
  252. vcbDirSt          EQU         22                        ; start dir (512-byte) block on diskette (MFS)
  253. vcbVBMSt          EQU         22                        ; same as VCBDirSt, starting block of allocation map (HFS) (overlaps)
  254. vcbBlLn           EQU         24                        ; length of dir in (512-byte) blocks (MFS)
  255. vcbAllocPtr       EQU         24                        ; same as VCBBlLn, Starting block for new file allocations
  256. vcbNmBlks         EQU         26                        ; number of blocks (of alloc size) this device
  257. vcbNmAlBlks       EQU         26                        ; (alternate label for a while)
  258. vcbAlBlkSiz       EQU         28                        ; num of bytes in an allocation block
  259. vcbClpSiz         EQU         32                        ; num of bytes to try to alloc as a clump
  260. vcbAlBlSt         EQU         36                        ; starting diskette (512-byte) block in block map
  261. vcbNxtCNID        EQU         38                        ; next free CNode identifier (HFS)
  262. vcbNxtFNum        EQU         38                        ; next free file number (MFS)
  263. vcbFreeBks        EQU         42                        ; number of free blocks on this volume
  264. vcbVN             EQU         44                        ; volume name (including name length byte)
  265. vcbMaxNam         EQU         27                        ; 27 byte max name length
  266. IOVDirLen         EQU         vcbVN-vcbCrDate           ; Length of info to copy by GetVolInfo
  267. ;
  268. ; next 6 fields should be kept together
  269. ;
  270. vcbDrvNum         EQU         72                        ; drive number for this VCB
  271. vcbDRefNum        EQU         74                        ; driver refnum for this VCB
  272. vcbFSID           EQU         76                        ; ID of file system handling this volume
  273. vcbVRefNum        EQU         78                        ; unique refnum for this VCB
  274. vcbMAdr           EQU         80                        ; volume map address (FS volume)
  275. vcbBufAdr         EQU         84                        ; volume buffer address
  276. vcbMLen           EQU         88                        ; length of volume map (FS volume)
  277. vcbDirIndex       EQU         90                        ; directory index, block number used for
  278. vcbDirBlk         EQU         92                        ; GetFileInfo searches by index
  279. MFSVCBLen         EQU         94                        ; Length of MFS VCB
  280. ;
  281. ; Volume Control Block (VCB) extensions for HFS copied from Volume Info Block:
  282. ;
  283. vcbTDInfoSt       EQU         94                        ; Start of additional HFS info:
  284. vcbVolBkUp        EQU         94                        ; Date volume was last backed up
  285. vcbVSeqNum        EQU         98                        ; Index of volume in backup set
  286. vcbWrCnt          EQU         100                       ; Volume write count
  287. vcbXTClpSiz       EQU         104                       ; Extent B*-Tree clump size
  288. vcbCTClpSiz       EQU         108                       ; Catalog B*-Tree clump size
  289. vcbNmRtDirs       EQU         112                       ; Number of directories in root
  290. vcbFilCnt         EQU         114                       ; Total number of files in volume
  291. vcbDirCnt         EQU         118                       ; Total number of directories in volume
  292. vcbFndrInfo       EQU         122                       ; Finder info for volume
  293. vcbVCSize         EQU         154                       ; Volume cache size in blocks
  294. vcbVBMCSiz        EQU         156                       ; Bitmap cache size in blocks
  295. vcbCtlCSiz        EQU         158                       ; Extent and Catalog B*-Tree cache size (blocks)
  296. ;
  297. ; additional VCB information NOT copied from the MDB:
  298. ;
  299. vcbXTAlBks        EQU         160                       ; Size of extent B*-Tree in allocation blocks
  300. vcbCTAlBks        EQU         162                       ; Size of catalog B*-Tree in allocation blocks
  301. vcbXTRef          EQU         164                       ; File RefNum for Extent B*-Tree 
  302. vcbCTRef          EQU         166                       ; File RefNum for Catalog B*-Tree
  303. vcbCtlBuf         EQU         168                       ; Pointer to extent desc. and catalog caches
  304. vcbDirIDM         EQU         172                       ; Directory last searched: 0 if invalid.
  305. vcbOffsM          EQU         176                       ; Offspring index at last search
  306. vcbLength         EQU         178                       ; VCB byte length
  307. ; File Control Block equates: (prefix: FCB)
  308. fcbModBit         EQU         7                         ; dirty bit for FCB entry in FCBMdRByt
  309. fcbOwnClp         EQU         6                         ; Clump-size specified flag (for truncate on close)
  310. fcbFilLck         EQU         5                         ; 1 if file is locked [write-protected] 
  311. fcbShrWrt         EQU         4                         ; 1 if file is open for shared write access 
  312. fcbWrtLck         EQU         2                         ; 1 if fork is reserved for write (byte range lock)
  313. fcbRscBit         EQU         1                         ; 1 if this is resource part (in FCBMdRByt)
  314. fcbWrtBit         EQU         0                         ; write permissions bit in FCBTypByt (1 if ok)
  315. fcbFlgMBit        EQU         15                        ; dirty bit in FCBFlags (word)
  316. fcbFlgCBit        EQU         14                        ; clump-size spec'd bit in FCBFlags (word)
  317. fcbFlgPBit        EQU         13                        ; Write-protected [file lock] bit in FCBFlags (word)
  318. fcbFlgSBit        EQU         12                        ; Shared-write bit in FCBFlags (word) 
  319. fcbFlgLBit        EQU         10                        ; Byte range locked bit in FCBFlags (word)
  320. fcbFlgRBit        EQU         9                         ; resource bit in FCBFlags (word)
  321. fcbFlgWBit        EQU         8                         ; write permissions bit in FCBFlags (word)
  322. WrRsMask          EQU         $0300                     ; rsrc/reg, write permissions mask
  323. PermMask          EQU         $1300                     ; all bits related to access arbitration 
  324. fcbFlNm           EQU         0                         ; FCB file number. Non-zero marks FCB used.
  325. fcbFlags          EQU         4                         ; FCB flags
  326. fcbMdRByt         EQU         4                         ; mod, write permissions, resource byte
  327. fcbTypByt         EQU         5                         ; type byte
  328. fcbSBlk           EQU         6                         ; File start block (in alloc size blks)
  329. fcbEOF            EQU         8                         ; logical length or EOF in bytes
  330. fcbPLen           EQU         12                        ; Physical file length in bytes
  331. fcbCrPs           EQU         16                        ; current position within file.
  332. ioFIStILen        EQU         20                        ; Length to straight copy from FCB on _GetFCBInfo
  333. fcbVPtr           EQU         20                        ; Absolute pointer to the corresponding VCB
  334. fcbBfAdr          EQU         24                        ; file's buffer address.
  335. fcbFlPos          EQU         28                        ; directory block this file is in
  336. MFSFCBLen         EQU         30                        ; Length of MFS FCB structure
  337. ;
  338. ; FCB Extensions for HFS:
  339. ;
  340. fcbClmpSize       EQU         30                        ; Number of bytes per clump
  341. fcbBTCBPtr        EQU         34                        ; pointer to B*-Tree control block for this file
  342. fcbExtRec         EQU         38                        ; First 3 file extents
  343. fcbFType          EQU         50                        ; file's 4 Finder Type bytes
  344. fcbCatPos         EQU         54                        ; Catalog hint for use on Close
  345. fcbDirID          EQU         58                        ; Parent Directory ID
  346. fcbCName          EQU         62                        ; CName of open file
  347. fcbEntLen         EQU         94                        ; Length of each element in the FCB array
  348. ;_______________________________________________________________________
  349. ;
  350. ; Directory master block entries: (Prefix Dr)
  351. ;
  352. drSigWord         EQU         0                         ; signature word
  353. drCrDate          EQU         2                         ; Creation date.
  354. drLsMod           EQU         6                         ; last backup date
  355. drAtrb            EQU         10                        ; volume attributes. bit 15=write(locked=1)
  356. drNmFls           EQU         12                        ; number files in directory
  357. drDirSt           EQU         14                        ; start dir (512-byte) block on diskette
  358. drVBMSt           EQU         14                        ; starting sector of allocation map (overlaps)
  359. drBlLn            EQU         16                        ; length of dir in (512-byte) blocks
  360. drAllocPtr        EQU         16                        ; Start of next allocation search
  361. drNmAlBlks        EQU         18                        ; number of blocks (of alloc size) this volume
  362. drAlBlkSiz        EQU         20                        ; min num of bytes to allocate (must be 512 mult)
  363. drClpSiz          EQU         24                        ; num of bytes to try to alloc as a clump
  364. drAlBlSt          EQU         28                        ; starting diskette (512-byte) block in block map
  365. drNxtCNID         EQU         30                        ; Next CNode identifier
  366. drNxtFNum         EQU         30                        ; next free file number
  367. drFreeBks         EQU         34                        ; number of free blocks on this volume
  368. drVN              EQU         36                        ; volume name (including name length)
  369. MpTblStr          EQU         64                        ; byte start position of map table within
  370. ; master dir block (MFS volume)
  371. ;
  372. ; Master Directory Block extensions for HFS:
  373. ;
  374. drTInfoSt         EQU         64
  375. drVolBkup         EQU         64                        ; Date of last volume backup (overlaps)
  376. drVSeqNum         EQU         68                        ; Sequence number of volume within backup set
  377. drWrCnt           EQU         70                        ; Volume write count
  378. drXTClpSiz        EQU         74                        ; Extent B*-Tree clump size
  379. drCTClpSiz        EQU         78                        ; Catalog B*-Tree clump size
  380. drNmRtDirs        EQU         82                        ; Number of subdirectories in the root
  381. drFilCnt          EQU         84                        ; Total number of files in volume
  382. drDirCnt          EQU         88                        ; Total number of directories in volume
  383. drFndrInfo        EQU         92                        ; Finder info for volume
  384. drVCSize          EQU         124                       ; Volume cache size
  385. drVBMCSize        EQU         126                       ; Volume Bitmap cache size
  386. drCtlCSize        EQU         128                       ; Size of common volume cache
  387. ;
  388. ; length of additional VCB data from master directory block for HFS volumes:
  389. ;
  390. vcbTDILen         EQU         130-drTInfoSt
  391. ;
  392. ; Information not copied into VCB:
  393. ;
  394. drXTFlSize        EQU         130                       ; Length of extent B*-Tree (LEOF and PEOF)
  395. drXTExtRec        EQU         134                       ; First (and only) extent-tree extent record
  396. drCTFlSize        EQU         146                       ; Length of catalog B*-Tree (LEOF and PEOF)
  397. drCTExtRec        EQU         150                       ; First catalog extent record
  398. LenMDB            EQU         162                       ; length of full MDB
  399. drUsrInfo         EQU         256                       ; User information for volume
  400. ;_______________________________________________________________________
  401. ;
  402. ; File Entry equates: (prefix: Fl)
  403. ; (delete indication may be needed; for now just check VCB del fnum . . .)
  404. flWrtFlag         EQU         0                         ; write-allowed bit in flags byte (0 if allowed)
  405. flTypMask         EQU         $FE                       ; (user file-type in bits 1-7)
  406. flFlags           EQU         0                         ; bit 7=1 (used), bit 0=file lock flag
  407. flTyp             EQU         1                         ; file type (used as a name extension)
  408. flUsrWds          EQU         2                         ; user words for file. (16 bytes)
  409. flFlNum           EQU         18                        ; file number
  410. flStBlk           EQU         22                        ; Start file block (alloc blk size)(0000 if none)
  411. flLgLen           EQU         24                        ; File logical length in bytes (EOF)
  412. flPyLen           EQU         28                        ; File physical length in bytes
  413. flRStBlk          EQU         32                        ; Start file block, resource fork (0000 if none)
  414. flRLgLen          EQU         34                        ; File logical length (EOF), resource fork
  415. flRPyLen          EQU         38                        ; File physical length, resource fork
  416. flCrDat           EQU         42                        ; File creation date & time (32 bits in seconds)
  417. flMdDat           EQU         46                        ; last modification date & time (32 bits in seconds)
  418. flNam             EQU         50                        ; file name, starting with length byte
  419. flNTLen           EQU         50                        ; length of each file entry, excluding name
  420. ;_______________________________________________________________________
  421. ;
  422. ; Working Directory Control Block equates: (prefix: WD)
  423. ;
  424. WDVCBPtr          EQU         0                         ; pointer to VCB of residing WD (longint)
  425. WDDirID           EQU         4                         ; WD directory Identification (longint)
  426. WDCatHint         EQU         8                         ; Catalog node hint
  427. WDProcID          EQU         12                        ; process that created WD
  428. WDCBLen           EQU         16                        ; Length of a WDCB
  429. ;_______________________________________________________________________
  430. ;
  431. ; Poor Man's Search Path equates: (prefix: SP)
  432. ;
  433. PMSPHook          EQU         -6                        ; Hook for PMSP modification
  434. PMSPIndx          EQU         -2                        ; Index to PMSP index from start of PMSP
  435. SPHdrSize         EQU         6                         ; Size of negative-offset header
  436. SPVRefNum         EQU         0                         ; Offset to VRefNum in PMSP entry
  437. SPDirID           EQU         2                         ; Offset to Directory ID in PMSP entry
  438. SPEntLen          EQU         6                         ; Length of a PMSP entry
  439. MaxDVCnt          EQU         8                         ; Leave room for 8 default VRefNums
  440. PMSPSize          EQU         MaxDVCnt*SPEntLen+SPHdrSize+2 
  441.                                                         ; Size of PMSP table +header + index word
  442. ; 31744 = $7C00, a nice round number close to
  443. ; (32767*1000)/1024, which is about the largest 
  444. ; free space unsuspecting, decimal-K minded apps
  445. ; might be expected to handle. 
  446. AlBlkLim          EQU         31744
  447.  
  448.     ENDIF    ; ...already included